package theeg.DependencyAnalysis.Core.DataModel;

public enum Purity
{

    Pure(0), ModifyCommon(1), CallModifyCommon(2), ModifySelf(4), CallModifySelf(8), ModifyParameter(16),
    CallModifyParameter(32), Undefined(2048);

    private int value;

    Purity(int value)
    {
        this.value = value;
    }

    Purity(Purity... es)
    {
        value = 0;
        for (Purity e : es)
        {
            value |= e.getValue();
        }
    }

    int getValue()
    {
        return value;
    }
}
